package com.boil.qz.safekavass.web.request.param;

import com.boil.util.Constants;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Pattern;

/**
 * Created by ChenYong on 2017-04-24.
 * <br>
 * 举报列表的请求参数。
 */
public class ReportResListParam extends Page2Param {
    /**
     * 举报人
     */
    @Length(min = Constants.VALUE_0, max = Constants.VALUE_50, message = "举报人的长度在0至50个字之间")
    private String reportCreatePerson;
    /**
     * 举报人手机号
     */
    @Pattern(regexp = Constants.PHONE_EMPTY_RE, message = ("举报人" + Constants.PHONE_RE_MSG))
    private String reportCreatePersonPhone;
    /**
     * 处理人
     */
    @Length(min = Constants.VALUE_0, max = Constants.VALUE_50, message = "处理人的长度在0至50个字之间")
    private String reportHandlePerson;
    /**
     * 举报标题
     */
    @Length(min = Constants.VALUE_0, max = Constants.VALUE_500, message = "举报标题的长度在0至500个字之间")
    private String reportName;
    /**
     * 举报来源
     */
    @Length(min = Constants.VALUE_0, max = Constants.VALUE_50, message = "举报来源的长度在0至50个字之间")
    private String reportSource;
    /**
     * 举报结果
     */
    @Length(min = Constants.VALUE_0, max = Constants.VALUE_1, message = "举报结果的长度在0至1之间")
    @Pattern(regexp = Constants.NUMBER_EMPTY_RE, message = ("举报结果" + Constants.NUMBER_RE_MSG))
    private String reportResult;
    /**
     * 举报开始日期的字符串
     */
    @Pattern(regexp = Constants.DATE_1_EMPTY_RE, message = ("举报开始" + Constants.DATE_RE_MSG))
    protected String reportCreateStartDate;
    /**
     * 举报结束日期的字符串
     */
    @Pattern(regexp = Constants.DATE_1_EMPTY_RE, message = ("举报结束" + Constants.DATE_RE_MSG))
    protected String reportCreateEndDate;
    /**
     * 处理开始日期的字符串
     */
    @Pattern(regexp = Constants.DATE_1_EMPTY_RE, message = ("处理开始" + Constants.DATE_RE_MSG))
    protected String reportHandleStartDate;
    /**
     * 处理结束日期的字符串
     */
    @Pattern(regexp = Constants.DATE_1_EMPTY_RE, message = ("处理结束" + Constants.DATE_RE_MSG))
    protected String reportHandleEndDate;

    /**
     * 默认构造器。
     */
    public ReportResListParam() {
        super();
    }

    public String getReportCreatePerson() {
        return reportCreatePerson;
    }

    public void setReportCreatePerson(String reportCreatePerson) {
        this.reportCreatePerson = reportCreatePerson;
    }

    public String getReportCreatePersonPhone() {
        return reportCreatePersonPhone;
    }

    public void setReportCreatePersonPhone(String reportCreatePersonPhone) {
        this.reportCreatePersonPhone = reportCreatePersonPhone;
    }

    public String getReportHandlePerson() {
        return reportHandlePerson;
    }

    public void setReportHandlePerson(String reportHandlePerson) {
        this.reportHandlePerson = reportHandlePerson;
    }

    public String getReportName() {
        return reportName;
    }

    public void setReportName(String reportName) {
        this.reportName = reportName;
    }

    public String getReportSource() {
        return reportSource;
    }

    public void setReportSource(String reportSource) {
        this.reportSource = reportSource;
    }

    public String getReportResult() {
        return reportResult;
    }

    public void setReportResult(String reportResult) {
        this.reportResult = reportResult;
    }

    public String getReportCreateStartDate() {
        return reportCreateStartDate;
    }

    public void setReportCreateStartDate(String reportCreateStartDate) {
        this.reportCreateStartDate = reportCreateStartDate;
    }

    public String getReportCreateEndDate() {
        return reportCreateEndDate;
    }

    public void setReportCreateEndDate(String reportCreateEndDate) {
        this.reportCreateEndDate = reportCreateEndDate;
    }

    public String getReportHandleStartDate() {
        return reportHandleStartDate;
    }

    public void setReportHandleStartDate(String reportHandleStartDate) {
        this.reportHandleStartDate = reportHandleStartDate;
    }

    public String getReportHandleEndDate() {
        return reportHandleEndDate;
    }

    public void setReportHandleEndDate(String reportHandleEndDate) {
        this.reportHandleEndDate = reportHandleEndDate;
    }

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("ReportResListParam{");
        sb.append("startDate='").append(startDate).append('\'');
        sb.append(", reportCreatePerson='").append(reportCreatePerson).append('\'');
        sb.append(", iDisplayStart=").append(iDisplayStart);
        sb.append(", endDate='").append(endDate).append('\'');
        sb.append(", sEcho=").append(sEcho);
        sb.append(", reportCreatePersonPhone='").append(reportCreatePersonPhone).append('\'');
        sb.append(", iDisplayLength=").append(iDisplayLength);
        sb.append(", iColumns=").append(iColumns);
        sb.append(", reportHandlePerson='").append(reportHandlePerson).append('\'');
        sb.append(", iSortingCols=").append(iSortingCols);
        sb.append(", reportName='").append(reportName).append('\'');
        sb.append(", reportSource='").append(reportSource).append('\'');
        sb.append(", reportResult='").append(reportResult).append('\'');
        sb.append(", reportCreateStartDate='").append(reportCreateStartDate).append('\'');
        sb.append(", reportCreateEndDate='").append(reportCreateEndDate).append('\'');
        sb.append(", reportHandleStartDate='").append(reportHandleStartDate).append('\'');
        sb.append(", reportHandleEndDate='").append(reportHandleEndDate).append('\'');
        sb.append('}');
        return sb.toString();
    }
}